Clouding computing is becoming increasingly popular. Cloud computing allows for infrastructure flexibility, faster deployment of applications and data, cost control, and adaptability. Cloud services customers are able to utilize the increased efficiency and resources of a distributed network. Cloud computing allows users to remotely access a resource (i.e. virtual server, database, program, or application) stored in the cloud on different devices and/or in different geographic locations at the same time.
Cloud Service Providers (CSPs) such as Amazon, Google, Rackspace, and OpenStack provide the physical hardware such as servers and other equipment to host products and services from a remote location. Cloud service customers purchase the infrastructure necessary for their needs, but never need to purchase or setup physical equipment. Infrastructure services, such as virtual servers, are provided by using software running on one or more real machines. Such virtual servers do not physically exist and can therefore be moved around and scaled up or down on the fly without affecting the end user.
Access to cloud resources is managed through permissions. These permissions could include usernames and passwords, as well as other credentialing information. However, in cloud computing environments, access control beyond initially authorizing users is limited. The current access control systems lack the ability to manage and customize access. Further exacerbating the issue of access control is the different systems and methods used by different cloud providers.